package br.com.duosoftware.orcamento.services;

import br.com.duosoftware.orcamento.daos.ElementoDeDespesaDAO;
import br.com.duosoftware.orcamento.entidades.ElementoDeDespesa;

/**
 *
 * @author Renato
 *
 */
public class ElementoDeDespesaService {

    private ElementoDeDespesaDAO elementoDeDespesaDAO;

    public ElementoDeDespesaService() {
        elementoDeDespesaDAO = new ElementoDeDespesaDAO();
    }

    public void obterSequencia(ElementoDeDespesa elementoDeDespesa) {

        obterCodigo(elementoDeDespesa);

        if (elementoDeDespesa.getCodigo().length() == 10) {

            String sequencia = elementoDeDespesaDAO.obterSequencia(elementoDeDespesa
                    .getCodigo());

            elementoDeDespesa.setSequencia(sequencia);

        }

    }

    public void obterCodigo(ElementoDeDespesa elementoDeDespesa) {

        String categoriaEconomicaDespesa = "";
        String natureza = "";
        String modalidade = "";
        String elemento = "";
        String sequencia = "";

        if (elementoDeDespesa.getCategoriaEconomicaDeDespesa() != null) {
            categoriaEconomicaDespesa = elementoDeDespesa.getCategoriaEconomicaDeDespesa().getCodigo();
        }

        if (elementoDeDespesa.getNatureza() != null) {
            natureza = elementoDeDespesa.getNatureza().getCodigo();
        }

        if (elementoDeDespesa.getModalidade() != null) {
            modalidade = elementoDeDespesa.getModalidade().getCodigo();
        }

        if (elementoDeDespesa.getElemento() != null) {
            elemento = elementoDeDespesa.getElemento().getCodigo();
        }

        if (elementoDeDespesa.getSequencia() != null) {
            sequencia = elementoDeDespesa.getSequencia();
        }

        elementoDeDespesa.setCodigo(categoriaEconomicaDespesa + "." + natureza + "."
                + modalidade + "." + elemento + "." + sequencia);

    }

}
